A printing apparatus such as a printer, copying machine, facsimile, or the like prints an image defined by dot patterns on a print medium such as a paper sheet, thin plastic plate, or the like on the basis of image information. Such printing apparatus can be categorized into an ink-jet system, wire-dot system, thermal system, laser beam system, and the like in accordance with the printing systems. Of these systems, the ink-jet system (ink-jet printing apparatus) prints an image by ejecting ink (print liquid) droplets from ejection ports of a print head and attaching them on a print medium.
As an example of a printing apparatus, an ink-jet printing apparatus (ink-jet printer) with an output resolution of 600 dpi will be described. This printer prints an image by receiving a binary (multi-valued) dot image, which is obtained by rasterizing 300-dpi, 8-bit image data and is transferred from a host (PC).
The ink-jet printing apparatus prints an image by combining pixels (dot ON) formed by print liquid droplets landing on a print medium, and pixels (dot OFF) without any print liquid droplet.
In recent years, since the ejection ports of a print head can be arranged at a high density, an image with a relatively high resolution (e.g., 600 dpi) can be printed. In order to obtain a high-definition print, when a host as a supply source of image data connected to a printer processes high-resolution (e.g., 600 dpi) image data and transfers the processed data to the printer, the data size becomes four times that required upon transferring 300-dpi image data, and the data processing time and transfer time increase largely. Hence, a method of handling a binary dot matrix as a multi-valued super pixel on the printer side (Japanese Patent Laid-Open No. 9-46522) is used.
[Multi-valued Printer Using Index Pattern]
Japanese Patent Laid-Open No. 9-46522 discloses the following technique for reducing the loads on the data process and transfer. With this technique, a binary ink-jet printer with an output resolution of 600 dpi handles, as one set, 2×2 binary pixels of a resolution of 600 dpi, and a host handles that printer as a 5-valued printer with a resolution of 300 dpi.
FIG. 1 shows a layout method of ON dots when 2×2 binary pixels of a resolution of 600 dpi are used as one set. A set of 2×2 pixels will be referred to as a “super pixel”, and the layout of ON dots will be referred to as an “index pattern” hereinafter.
As shown in FIG. 1, a super pixel has five different index patterns, which respectively have zero, one, two, three, and four ON dots. A printer, which holds such index pattern in advance, prints an image by rasterizing 300-dpi, 5-valued image data input from the host to 600-dpi, binary image data with reference to the index patterns.
Pseudo halftoning in the printer using the index patterns will be explained below.
The host can consider the aforementioned binary printer with the output resolution of 600 dpi as a 5-valued printer with an input resolution of 300 dpi, since the printer main body executes a rasterization process of the index patterns. Hence, the host rasterizes 300-dpi, 8-bit input image data to a 5-valued dot image by known pseudo halftoning such as multi-valued error diffusion, multi-valued dithering, or the like, and supplies the dot image to the printer.
FIG. 2 shows an average distribution of the number of index patterns assigned per unit area (ordinate) with respect to the signal value of an 8-bit input image signal (abscissa). Note that “average” means that error diffusion and dithering often have different numbers of locally printed dots at the beginning of processing of an image to be processed, and such local difference is not taken into consideration.
As shown in FIG. 2, for example, when the signal value is “0”, all pixels of 300 dpi are occupied by index patterns of index No. 0; when the signal value is “64”, all pixels of 300 dpi are occupied by index patterns of index No. 1. FIG. 3 summarizes correspondence between the signal values (central values) and index numbers. Note that pixels of index Nos. 0 and 1 mix in a region of 0<signal value<64, and those of index Nos. 1 and 2 mix in a region of 64<signal value<128.
FIG. 4 shows the average number of 600-dpi, binary ON dots per unit area (ordinate) with respect to the signal value of an 8-bit input image signal (abscissa).
For example, in a region of 0<signal value<64, the number of index patterns of index No. 0 decreases, and that of index patterns of index No. 1 increases. That is, in the region of 0<signal value<64, the number of ON dots increases with increasing number of index patterns of index No. 1, as indicated by the solid line in FIG. 4.
In a region of 64<signal value<128, the number of index patterns of index No. 1 decreases, and that of index patterns of index No. 2 increases. Hence, in the region of 64<signal value<128, since the number of ON dots formed by index patterns of index No. 1 (600 dpi, one ON dot per four pixels) decreases, and the number of ON dots formed by index patterns of index No. 2 (600 dpi, two ON dots per four pixels) increases, as indicated by the broken line in FIG. 4, the total number of ON dots in the region of 64<signal value<128 increases, as indicated by the solid line in FIG. 4. In this manner, the number of binary ON dots of an output resolution of 600 dpi, which are formed by the 5-valued printer with the input resolution of 300 dpi using the index patterns shown in FIG. 1, increases in proportion to the signal value of the input image signal.
[Print Characteristics of 5-valued Printer with Input Resolution of 300 dpi]
As described above, the signal value of an image signal input to the 5-valued printer with the input resolution of 300 dpi is proportional to the number of ON dots. However, the print density is normally not proportional to the number of ON dots due to mechanical and optical dot gains. FIG. 5 shows the print density (ordinate) upon printing an 8-bit input signal value (abscissa) as a 600-dpi binary pattern. As shown in FIG. 5, the print density shows the tendency of leveling off.
[Tone Correction Table Corresponding to Index Pattern]
In order to compensate for the influence of dot gains shown in FIG. 5 and to correct the relationship between the input signal value and print density to a proportional relationship shown in FIG. 6, a tone correction table disclosed in Japanese Patent Publication No. 8-2659 (called a “density characteristic correction table” in this reference) is used.
In the tone correction table, a table shown in FIG. 7, which defines an inverse function to FIG. 5 used to correct the relationship between the input signal value and print characteristics shown in FIG. 5, is set. A 300-dpi, 8-bit image signal is converted into a tone-corrected image signal by the tone correction table, and then undergoes pseudo halftoning by, e.g., multi-valued error diffusion to be rasterized to a 300-dpi, 5-valued dot image. The rasterized dot image is input to the printer. The printer rasterizes the 300-dpi, 5-valued dot image to a 600-dpi, binary dot image with reference to the index patterns. Then, nozzles of a print head corresponding to ON dots of this binary dot image are driven to eject print liquid droplets.
FIG. 8 is a flow chart for explaining a process for deriving a tone correction table for a 5-valued printer with an input resolution of 300 dpi.
The tone correction table is derived by executing a print process of the printer in correspondence with an input signal value, measuring the density of a print, and calculating a table which compensates for the measured density characteristics. Note that output characteristics of the printer can be examined by measuring intensity or brightness of the print instead of the density of the print. In other words, the examination of the output characteristics of the printer can be performed based on amounts indicating brightness, such as the intensity, brightness or density of the print, signal values read from the print by using a scanner, or the like. In the following explanation, the density is used as the amounts which quantitatively show the characteristics of the printer, but the above intensity, brightness or signal values can be used as the amounts which quantitatively show the characteristics of the printer, too.
It doesn't matter even if the quantity except that brightness is shown is substituted for this concentration though concentration is used as the representative of the quantity which shows brightness and it explains.
An output gamma used to output measurement patches (a tone correction table shown in FIG. 9 that allows an input signal value to pass through it) is set (S102), and measurement patches are set (S103). The measurement patches are output (S104), and the densities of the output patches are measured by a densitometer (S105).
As the measurement patches, those shown in FIG. 10 are used in consideration of a reduction of a time required from printing to measurement, and print reproducibility by the ink-jet printer. Numerals printed above respective patches shown in FIG. 10 indicate the signal values of the patches, and letters C, M, Y, and K on the upper end indicate inks used to print patch sequences below these letters.
A “signal value—density” table is generated based on the patch density measurement result, and a “signal value—density” table obtained by normalizing the signal values and density values in the former table to the range from 0 to 1, as shown in FIG. 11, is generated. In order to obtain an inverse function of this normalized table, the normalized table is referred to in the reverse direction to generate a reverse table of the “signal value—density” table (S106).
As indicated by ● marks in FIG. 11, the measurement values of actual densities include errors due to reproducibility of the ink-jet printer upon printing, and measurement errors. Hence, the reverse table undergoes smoothing based on a recursive curve using polynomial approximation given by:y=c1x+c2x2+c3x3+c4x4+c5x5  (1)to obtain a table that shows a smooth curve, as indicated by the solid curve in FIG. 11 (S107). Note that a detailed description of smoothing based on polynomial approximation will be omitted, since a similar process using a spline curve is disclosed in detail in Japanese Patent Publication No. 8-2659.
Deviations due to oscillations of the polynomial approximation and those of an origin (0.0, 0.0) and end point (1.0, 1.0) often occur. In order to correct those deviations, the reverse table is finely adjusted (S108). The range of the reverse table, which has been normalized and finely adjusted in a period from the origin to the end point, is re-converted to a table format of an 8-bit integer, thus generating a tone correction table (S109).
By making tone correction using the tone correction table generated in this way, the tone characteristics can be improved so as to realize linearity between the input image signal value and output print density of the printer.
Note that the tone correction table is a linear table for each ink color, and has a smaller table size than a color conversion table as a three-dimensional (3D) table. Hence, the following applied techniques using a plurality of tone correction tables are available.
Ejection amount correction of print head using tone correction table
Dot quantity correction using tone correction table
The applied techniques using tone correction tables will be described in detail below.
[Ejection Amount Correction of Print Head Using Tone Correction Table]
The output density characteristics of an ink-jet printer depend on the amount of ink ejected from nozzles of a print head. The ejection amounts of mass-produced print heads suffers variations of about ±10% with respect to the standard amount due to variations of the characteristics generated during production.
In general, a color processing unit of a printer is designed to obtain a desired output result on the basis of the standard ejection amount of a print head. In other words, if a print head whose ejection amount deviates from the standard ejection amount is used, the output result becomes different from the standard output result expected upon design. That is, the variations of the ejection amount of the print head cause deterioration of the tone characteristics such as deterioration of color reproducibility, unbalance of density inks, and the like.
To solve this problem, Japanese Patent Laid-Open No. 2-167755 discloses the following ejection amount correction method. In this method, a color processing unit is designed to obtain an optimal output result when the ejection amount of a print head is a lower limit value. When a print head which has an ejection amount equal to or larger than the lower limit value is used, the ejection amount of the print head used is corrected using a tone correction table to be equivalent to that of a print head whose ejection amount is the lower limit value.
FIG. 24 is a block diagram showing the arrangement of a printer driver 1300 (color processing unit) which runs on a host, and an ink-jet printer 1400.
R, G, and B image signals (300 dpi, 8 bits per color) input to a printer driver 1300 are converted into C, M, Y, and K signals (300 dpi, 8 bits per color) by a 3D lookup table (3DLUT) of an RGB/CMYK converter 1301. Note that a process for a 300-dpi, 8-bit cyan (C) signal will be explained below, but the same applies to those for other color component signals.
The 300-dpi, 8-bit (256-valued) cyan (C) signal undergoes tone correction in a tone correction unit 1302 and is expanded to 12 bits (4081 values). In this case, a tone correction table used by the tone correction unit 1302 is selected from a tone correction table database 1305 on the basis of independently input ejection amount information of the print head. The expanded 300-dpi, 12-bit C signal undergoes pseudo halftoning by a multi-valued error diffusion processor 1303 to be converted into a 300-dpi, 3-bit (5-valued) multi-valued dot image.
The 300-dpi, 3-bit multi-valued dot image is transferred (input) from the host to a printer 1400. The 300-dpi, 3-bit multi-valued dot image input to the printer 1400 is rasterized to a 600-dpi, binary dot image by a dot image rasterize processor 1401, which refers to index patterns of a super pixel stored in an index pattern memory 1402.
The 600-dpi, binary dot image is stored in a dot image rasterize buffer 1403, and is sequentially sent to a print unit 1404 in correspondence with nozzles arranged in an ink-jet print head at 600-dpi intervals. Print nozzles corresponding to ON dots of the 600-dpi, binary dot image are driven, thus ejecting print liquid droplets.
A method of deriving the tone correction table used by the tone correction unit 1302 in ejection amount correction, and the correction method will be described below. A case will be exemplified wherein continuous index patterns are used, and print heads are roughly classified into the following three ranks on the basis of their ejection amounts.                Lower limit value (small ejection amount): n [ng]        Central value (middle ejection amount): 1.05 n [ng]        Upper limit value (large ejection amount): 1.10 n [ng]        
When a 12-bit tone correction table is generated using a print head of the small ejection amount rank, and a maximum value “4080” of that tone correction table is assigned to a print head of the small ejection amount rank, the ejection amount is 4080×n [ng]. Hence, the maximum values of tone correction tables which can yield the same ejection amount for the remaining ejection amount ranks are as follows:
Maximum value of tone correction table of middle ejection amount=4080×n/(1.05×n)≈3886
Maximum value of tone correction table of large ejection amount=4080×n/(1.1×n)≈3709
By controlling to obtain an identical ejection amount after tone correction using the tone correction table generated for each ejection amount of a print head, a similar output result can be obtained independently of the ejection amount ranks of print heads.
The maximum values of tone correction tables have been explained. Likewise, when a 12-bit tone correction table is generated using a print head of the middle ejection amount rank, an identical ejection amount can be obtained for all input/output image signal values independently of the ejection amount ranks of print heads by setting the central values of tone correction tables of the remaining ejection amount ranks as:
Correction value of large ejection amount rank=correction value of middle ejection amount rank×3709/3886
Correction value of small ejection amount rank=correction value of middle ejection amount rank×4080/3886
A sequence for generating a tone correction table (maximum value=3886) for a print head of the middle ejection amount rank using a print head of the middle ejection amount rank will be described below with reference to the flow chart in FIG. 8. Note that a description of substantially the same processes in FIG. 8 will be omitted, and only different processes will be explained.
FIG. 25 shows the input/output characteristics of a printer in which the maximum value of the 12-bit tone correction table is “4080”. In FIG. 25, broken curve b represents the output density characteristics, which have been normalized to 10 bits, and its inverse function (broken curve c) is the tone correction table.
In this case, since a tone correction table having a maximum value=3886 is obtained using a print head of the middle ejection amount rank, the output density characteristics indicated by broken curve b are converted into the characteristics indicated by solid curve a, and its inverse function (solid curve d) is obtained.
In order to obtain a tone correction table indicated by solid curve d in step S106 of generating the reverse table, the following two methods are available.
First Method (b→a→d)
The inverse function of the tone correction table having the maximum value=3886 is represented by solid curve a. As shown in FIG. 25, solid curve a sticks to the upper limit in a region where the input signal value is equal to or higher than 243 (≈3886/4080×255). Therefore, the range of ordinate y in FIG. 25 is defined by that from 0 to 1, and curves a and b shown in FIG. 25 are respectively expressed as y=a(x) and y=b(x) using function names corresponding to the signs of these curves. Then, the following relationship is obtained.y=a(x)=b(x)/b(243/255)for 0≦x≦243/255y=a(x)=1for 243/255<x≦255/255
The tone correction table is defined by an inverse function y=d(x) of y=a(x).
Second Method (b→c→d)
y=c(x) as a correction table having a maximum value=4080 is calculated, and a tone correction table y=d(x) is calculated based on this table.d(x)=c(3886/4080×x)
Next, x and y in equation (1) used in polynomial approximation of the reverse table y=d(x) in step S109 of generating the tone correction table assume real numbers ranging from 0 to 1. Hence, in order to set the maximum value of the tone correction table to 3886, the calculation result of equation (1) is multiplied by 3886 and the product is rounded to an integer, thus obtaining the tone correction table.
Tone correction tables for print heads of the large and small ejection amount ranks can becalculated on the basis of the calculated tone correction table for a print head of the middle ejection amount rank by:
Correction value for large ejection amount rank=correction value of middle ejection amount rank×3709/3886
Correction value for small ejection amount rank=correction value of middle ejection amount rank×4080/3886
[Dot Quantity Correction Using Tone Correction Table]
Dot quantity correction using a tone correction table will be explained below.
Since an ink-jet printer prints an image by directly spraying ink onto a print medium, if the ink dot quantity (applied quantity) is larger than the ink acceptable quantity (upper limit value of ink dot quantity) of a print media (print sheet), beading (ink overflow, blur due to ink overflow) occurs.
The upper limit value of the ink dot quantity varies depending on the characteristics of print media. Hence, in order to execute a color process in correspondence with print media having different upper limit values of the dot quantity, a tone correction table is often adjusted with respect to a common color conversion table in the RGB/CMYK converter 1301 to adjust the dot quantity.
FIG. 26 is a block diagram showing the arrangement of a printer driver 1300 (color processing unit) which runs on the host, and an ink-jet printer 1400. FIG. 26 shows the arrangement when the printer driver makes ejection amount correction of a print head using a tone correction table. FIG. 27 is a view for explaining the storage contents of a database 1304 (see FIG. 26).
When color conversion table A and tone correction table A for print medium A with an ink acceptable quantity of 100% are already present, for example, color conversion table A for print medium A is diverted for print medium B with an ink acceptable quantity of 80%, and a tone correction table is re-generated so as to reduce the size of the database 1304, thus realizing a color process that meets the ink acceptable amount of print medium B in some cases.
When R, G, and B image data (300 dpi, 8 bits per color) are input to a printer driver (color processing unit) 1300, the input image data undergo RGB→CMYK color conversion by a 3DLUT of a color converter 1301 after color correction so as to be converted into C, M, Y, and K data. The C, M, Y, and K image data undergo tone correction by a tone correction unit 1302, and then multi-valued pseudo halftoning by a multi-valued error diffusion processor 1303. Then, the C, M, Y, and K image data are output to a printer 1400. At this time, color processing tables used in the color converter 1301 and tone correction unit 1302 are selected from a database 1304 on the basis of information associated with the type of print medium, which is input at, e.g., a user interface (not shown) provided by the printer driver 1300. For example, when the input type of print medium corresponds to print medium B, color conversion table A and tone correction table B shown in FIG. 27 are set in the color converter 1301 and tone correction unit 1302.
Since tone correction tables A and B having a function of adjusting the dot quantity are used between print media having different dot quantities, a color process is done using common color conversion table A, as shown in FIG. 27. Tone correction table B having a function of adjusting the dot quantity will be explained below.
Assume that if the ink acceptable quantity of print medium A is equal to the maximum dot quantity of a color processing table (a set of a color conversion table and tone correction table) generated for a print head of the middle ejection amount rank, and this dot quantity (ink acceptable quantity) is 100%, print medium B has an ink acceptable quantity 80% of that of print medium A. When a color conversion table for print medium A is diverted as one of color conversion table sets for print medium B, a tone correction table that meets the ink acceptable quantity of print medium B can be calculated by:
Tone correction value for print medium B=tone correction value for print medium A×0.8
The tone correction table for print medium B sets a dot quantity 80% of that of the tone correction table for print medium A throughout the medium. Therefore, when tone correction is made using the calculated tone correction table, image data can undergo a color process so as not to exceed the ink acceptable quantity of print medium B even when the color process is done using “color conversion table for print medium A”+“tone correction table for print medium B”.
[Multi-valued Printer Using Discontinuous Index Patterns]
Along with the price reduction and technical advances of printers, printers are demanded to assure higher resolution and to have a smaller memory size in their main bodies. To realize such printers, an arrangement which uses discontinuous index patterns shown in FIG. 12 as those of a 600-dpi super pixel of 2×2 pixels, and suppresses the memory size by reducing index numbers is adopted.
As shown in FIG. 12, four different index patterns, which respectively have zero, one, two, and four ON dots, are available as the super pixel, and correspond to 300-dpi, 4-valued data. FIG. 13 summarizes correspondence between the signal values (central values) and index numbers, as in FIG. 3.
FIG. 14 shows the number of ON dots with respect to the signal value in a 600-dpi, binary pattern when the index patterns shown in FIG. 12 are used under the condition shown in FIG. 13. As shown in FIG. 14, the number of ON dots is expressed by a polygonal line which inflects at a signal value=170. This is because the number of ON dots decreases by one and increases by two in a region of 0<signal value<170, while it decreases by two and increases by four in a region of 170<signal value<255.
Such system in which the number of ON dots increases in a polygonal line pattern shows the characteristics in which the print density curve inflects at an injection point of an increase in the number of ON dots (corresponding to a switching point of index patterns), as indicated by the solid curve, unlike the print density characteristics of a multi-valued printer using normal (continuous) index patterns, which are indicated by the broken curve in FIG. 15. Therefore, in order to obtain linear print density characteristics by correction, a tone correction table shown in FIG. 16, which corresponds to the print density inflection point shown in FIG. 15, is required.